This invention relates to the processing of media objects and the synchronization of audio and video in an electronic device.
In some electronic devices, applications implemented on the electronic devices may control the display of content on a display. When a single or few applications that provide displays run simultaneously, the applications may easily coordinate amongst themselves, if necessary, to determine which application may be authorized to display of content or access media processing resources at a given time. For example, if a single application displaying content runs at one time, the application may decode media and provide the decoded video frames or graphics objects (e.g., open GL objects) to a render server for display.
As another example, if two applications run at the same time, each application generating content for display by the electronic device, the applications may coordinate amongst themselves so that only one application is decoding media and providing graphics objects for display to a render server at a given time. This approach may be used, for example, when a second application (e.g., a telephone application) interrupts an on-going first application (e.g., a media application). The first application may cease providing graphics for display to the render server to allow for the display of content provided by the second application. When the second application ends its interruption, the first application may resume providing graphics to the render server for display.
When the number of applications simultaneously running on the electronic device increases, however, it may be cumbersome and difficult to coordinate the operations of the applications amongst themselves. Accordingly, it may be desirable to provide a mechanism for controlling the processing of media provided for display on the electronic device. It may also be desirable to provide a mechanism that allows the user to perform playback operations with the media in a manner that limits the operations of the electronic device hardware.